There exist a number of centralized backup and recovery solutions that are often utilized by IT departments of large organizations. These centralized backup solutions typically include functions for copying and archiving computer data so that it may be used to restore the original data after a loss event. For example, some backup software running on each end user's computer may periodically backup that user's data (e.g., documents, images, emails, etc.) to a central storage location, which may itself be replicated. If a user's computer subsequently breaks or malfunctions, the user's data could then be retrieved from the central storage location and provided to the user on a new or repaired device.
While these backup and recovery solutions have helped IT departments protect employee data from loss, a number of inefficiencies remain in this space. In a typical scenario, when initially deploying a backup and recovery solution in a large organization, all of the client devices on the network need to upload their data to the central location for the first time in a process sometimes referred to as centralization. During this time period, because many client devices are uploading large amounts of data on a mass scale, server resources and network bandwidth are usually vastly utilized, preventing the IT manger from performing other management tasks such as application distribution. In some cases, the server does not have sufficient input/output operations (IOPs) to serve all of the upload requests and the network connections between the server and the client devices are highly congested. Another challenge with centralization is the costly storage requirements in the data-center, as well as either very expensive or slow network links. A more efficient method of performing a backup of client devices for recovery purposes is desirable.